Digital data transmissions over wired and wireless links are sometimes corrupted, for instance, by noise in the link or channel, by interference from other transmissions (e.g., radio), or by environmental factors related to, for example, the speed, direction, location and requests between transmitting and receiving units. Even with clear communication channels (i.e., channels with limited corruption), that lend themselves to the high data rates, it may not be possible to appropriately decode the data stream with the requisite error rates. Digital data transmissions may also be limited by an inability of the receiving or transmitting equipment to appropriately encode and decode the data stream at the speeds desired with the requisite error rates.
In two-way systems, an opportunity for requesting that a data packet be retransmitted upon detection of an error may be available. An automatic repeat request (ARQ) may be sent upon detection of an error using, for example, a parity bit check or a cyclic redundancy check (CRC), and then the original data packet may be discarded. Upon receipt of an ARQ request, the packet may simply be retransmitted in its original form.
FIG. 1 shows a sequence of transmissions between a transmitter and a receiver in which the transmitter can not definitively determine whether an ARQ block has been successfully transmitted. An ARQ feedback (ARQ FB) to the transmitter from the receiver attempts to provide the transmitter with knowledge as to whether or not the receiver received a transmitted ARQ block. As shown, the ARQ FB can include an ACK which indicates that the ARQ block was received, and/or the ARQ FB can include a NACK which indicates that the ARQ block was not received.
The first transmission 111 of FIG. 1 includes a ARQ block “0” that results in an ARQ FB 112 of ACK0 from the receiver that indicates the “0” ARQ block was successfully received. A second transmission 113 includes an ARQ block “1”. This transmission 113, as indicated with an “X” in the transmit direction, is not successful. The receiver subsequently provides, for example, another ARQ FB 114 of ACK0 from the receiver that indicates the ARQ block “0” was successfully received, but does not include any feedback regarding the ARQ block “1” because the ARQ block “1” was not successfully received.
A third transmission 115 includes an ARQ block “2”. However, due to not having received an ACK for ARQ block “1”, the transmitter retransmits 117 the ARQ block “1”. A problem occurs because the transmitter is not able to determine if, for example, the NACK 116 of ARQ block “1” is due to a failure to receive the latest transmission 117 of ARQ block “1”, or as a result of failure to receive an earlier transmission of the ARQ block “1”. This problem can result in another transmission 118 of the ARQ block “1”, potentially resulting in wasted (additional) transmissions.
It is desirable to have a system and method for addressing the above-described ARQ transmission and ARQ feedback problem.